package com.example.demo.service.serviceImpl;

import com.example.demo.common.entity.ParamBase;
import com.example.demo.common.entity.ParamPage;
import com.example.demo.common.util.ListResult;
import com.example.demo.common.util.OptResult;
import com.example.demo.service.TestUserService;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service
public class TestUserServiceImpl implements TestUserService {
    @Override
    public ListResult<Map<String, Object>> page(ParamPage<Map<String, Object>> paramPage) {
        return null;
    }

    @Override
    public OptResult save(ParamBase<Map<String, Object>> paramBase, String token) {
        return null;
    }

//    @Autowired
//    TestUserMapper testUserMapper;
//
//    @Override
//    public ListResult<Map<String, Object>> page(ParamPage<Map<String, Object>> paramPage) {
//        IPage<Map<String, Object>> page = new Page<>(paramPage.getPageIndex(), paramPage.getPageSize());
//        List<Map<String, Object>> list = testUserMapper.page(paramPage.getParam(), page);
//        ListResult<Map<String, Object>> result = BucnUtil.page2ListResult(page, list);
//        return result;
//    }
//
//    //事务
//    @Transactional
//    @Override
//    public OptResult save(ParamBase<Map<String, Object>> paramBase, String token) {
//        Map<String, Object> param = paramBase.getParam();
//        //判断是否有主键 有就是更新 没有就是新增
//        if (param.get("userId") != null) {
//            if (param.get("updateControlId") == null) {
//                BucnUtil.throwMessage("update_control_id");
//            }
//            //补充公共字段
//            BucnUtil.userWrapUpdate(param, token);
//            BucnInvoker.dmlInvoke(() -> testUserMapper.update(param));
//        } else {
//            //字段校验 t_bucn_cdata_validfield_base 配置表配置
//            BucnUtil.fieldCheck("clue_user_add", param);
//            BucnUtil.userWrapInsert(param, token);
//            param.put("userId", StringHelper.GetGUID());
//            BucnInvoker.dmlInvoke(() -> testUserMapper.insert(param));
//        }
//        return OptResultBuilder.createOk().build();
//    }
}